package com.rightsidetech.system.service;

import com.github.pagehelper.PageInfo;
import com.rightsidetech.commom.service.IService;
import com.rightsidetech.system.dtos.request.SysRoleAddReq;
import com.rightsidetech.system.dtos.request.SysRoleReq;
import com.rightsidetech.system.dtos.request.SysRoleUpdateReq;
import com.rightsidetech.commom.base.DelReq;
import com.rightsidetech.commom.base.ResponseData;
import com.rightsidetech.system.dtos.response.SysRoleDetailResp;
import com.rightsidetech.system.dtos.response.SysRoleResp;
import com.rightsidetech.system.entity.SysRole;

/**
 * @Author: yhr
 * @Date: 2021-10-20 09:08
 */
public interface SysRoleService extends IService<SysRole,Long> {
    ResponseData<PageInfo<SysRoleResp>> page(SysRoleReq sysRoleReq) throws Exception;

    ResponseData saveSysRole(SysRoleAddReq sysRoleAddReq, Long loginInfoId) throws Exception;

    ResponseData updateSysRole(SysRoleUpdateReq sysRoleUpdateReq, Long loginInfoId) throws Exception;

    ResponseData delSysRole(DelReq delReq) throws Exception;

    ResponseData selectList() throws Exception;

    ResponseData<SysRoleDetailResp> getRoleDetail(Long roleId) throws Exception;

    ResponseData getResources(Long roleId) throws Exception;

    ResponseData bindRoles(String loginName,String roleName,  String pwd) throws Exception;

    ResponseData<Boolean> checkAuth(Long loginInfoId, String biz, String requestURI, String menuUrl);
}
